import store from './store'

// #ifdef VUE3
import {
	createSSRApp,
	ref,
	onMounted
} from 'vue'
import * as Pinia from 'pinia';
import Vuex from "vuex";
import App from './App.vue'
import uviewPlus from 'uview-plus' // Vue 3 专用库 

export function createApp() {
	const app = createSSRApp(App)
	app.use(uviewPlus, () => {
		return {
			options: {
				// 修改$u.config对象的属性
				config: {
					// 修改默认单位为rpx，相当于执行 uni.$u.config.unit = 'rpx'
					unit: 'rpx',
					iconUrl: '/static/font_2225171.ttf',
					customIcon: {
						family: 'xyicon',
						url: 'https://at.alicdn.com/t/c/font_1305928_egvk3tbr3fs.ttf?t=1744189362601'
					},
					customIcons: {
						'light-mode': '\ue66c'
					}
				}
			}
		}
	}) // 必须放在 import Vue 之后[1,5,7](@ref)
	console.log(uni.$u.config.v) 
	app.use(store)
	app.use(Pinia.createPinia());
	// 添加全局方法或属性
	const envType = process.env.ENV_TYPE || process.env.NODE_ENV; // 来自 package.json 配置
	console.log(envType)
	app.provide('envType', envType);
	
	// const config=uni.$config;
	// console.log(config);
	// // 提供普通变量
	// const baseURL = config[envType].API_BASE;
	// app.provide('baseURL', baseURL);
	
	// 提供响应式变量
	const user = ref({
		name: 'Admin'
	});
	app.provide('user', user);

	return {
		app,
		Vuex, // 如果 nvue 使用 vuex 的各种map工具方法时，必须 return Vuex
		Pinia // 此处必须将 Pinia 返回
	}


	onMounted(() => {
		fontUtil.loadFont()
	})
}
// #endif